/**************************************************************************************************
* Title: SumRenderWindow.h
* Author: Gael Huber
* Description: Defines a single Windows-based render window for drawing, etc.
**************************************************************************************************/
#ifndef __SUMRENDERWINDOW_H__
#define __SUMRENDERWINDOW_H__

#include <Windows.h>
#include "SumGlobals.h"

class RenderWindow {
public:
	// Constructor implementing width and height
	explicit RenderWindow(int w, int h, int nCmdShow);

	// Constructor implementing width, height, and the class name for the window
	explicit RenderWindow(int w, int h, int nCmdShow, LPCWSTR windowName);

	~RenderWindow(void);	// Destructor

	// Returns the window width
	inline const int getWidth(void) const
	{
		return width;
	}

	// Returns the window height
	inline const int getHeight(void) const
	{
		return height;
	}

private:
	// Initialize the window and window characteristics
	void initialize(LPCWSTR windowName, int nCmdShow);

private:
	WNDCLASSEX wc;	// Holds information about the window

	int width;	// Width of the window
	int height;	// Height of the window
};

#endif